home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / heat / tiff.cfg < prev    next >
Text File  |  1991-10-18  |  3KB  |  110 lines

  1. /*********************************************************************
  2. /*
  3. /*    TIFF.CFG : TIFF形式画像データ表示用,外部マクロコマンド
  4. /*
  5. /*    TABSIZE = 4
  6. /*
  7. /*---【MEMO】---------------------------------------------------------
  8. /*
  9. /*     画面退避分のメモリ(133 KB)とTIFF画像データのファイルサイズ分
  10. /*    のフリーメモリが必要。
  11. /*
  12. /*
  13.  
  14. main {
  15.     wind_close()
  16.     wind_init()
  17.     filename = "";
  18.     file_select("filename","TIFF ロード",-1, "", "*.tif",0)
  19.  
  20.     if ( VAL ! 0 )
  21.     {    wind_init()
  22.         echo("\n\(filename): FILE OPEN ERROR!!\n")
  23.         wait(10)
  24.         wind_close()
  25.         return    (-1)
  26.     }
  27.     WXS = 624;                            /* ウィンドゥサイズ
  28.     WYS = 424;
  29.     wind_size_set(8,8,WXS,WYS)            /* ウィンドゥサイズ最大に設定
  30.     wind_str_color(C_MBLACK)            /* 文字色
  31.     wind_open()                            /* ウィンドゥオープン
  32.  
  33.     mos_cursor(82,1)                    /* マウスカーソル(時計)
  34.     tiff_load(filename,-8,-32)            /* TIFF ロード
  35.     RET = VAL;
  36.     mos_cursor(81,0)                    /* マウスカーソル(ノーマル)
  37.  
  38.     if ( RET < 0 )
  39.     {    echo("\n\tTIFF LOAD ERROR!!\n")
  40.         wind_close()
  41.         wind_init()
  42.         return    (-1)
  43.     }
  44.  
  45.     syslin_puts(C_GREEN,C_BLACK,"マウスボタンを押してください。")
  46.     mos_wait("x","y",81)
  47.  
  48. #    mosget("sw","x","y")
  49. #    menu_yes_no(x,y,C_CYAN,"データを切り出しますか?")
  50. #    if ( VAL > 0 )
  51. #    {    r_sub()
  52. #    }
  53.     wind_close()
  54.     wind_init()
  55. }
  56.  
  57. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  58. /*    指定範囲のドット・パータンを取り出しカットバッファに設定する
  59. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  60. r_sub {
  61.     xx = WXS;
  62.     yy = WYS;
  63.     dec(xx)
  64.     dec(yy)
  65.  
  66.     /* 第1点 指定
  67.     syslin_puts(C_GREEN,C_BLACK,"切り出すポイント(1)を指定してください。")
  68.     mos_wait("x1","y1",-1,4)
  69.     if ( VAL = 2 )
  70.     {    return
  71.     }
  72.     graph("line",x1, 0,x1,yy,XOR,4)        /* マークカーソル
  73.     graph("line", 0,y1,xx,y1,XOR,4)
  74.  
  75.     /* 第2点 指定
  76.     syslin_puts(C_GREEN,C_BLACK,"切り出すポイント(2)を指定してください。")
  77.     mos_wait("x2","y2",-1,4)
  78.     if ( VAL = 2 )
  79.     {    return
  80.     }
  81.     graph("line",x1, 0,x1,yy,XOR,4)        /* マークカーソル消去    */
  82.     graph("line", 0,y1,xx,y1,XOR,4)
  83.  
  84.     graph("getblk", x1,y1,x2,y2,C_MBLACK,"buf")
  85.     set_cbuf(buf)                        /* カットバッファに設定
  86.     buf = ""
  87.  
  88.     /*--------------------------------------------------------------
  89.     /*    切り出しサイズ計算
  90.     /*
  91.     xx = x1;
  92.     sub("xx",x2)
  93.     if ( xx > 0 )    /* x1 > x2    */
  94.     {    expr("xx","\(x1)-\(x2)+1")
  95.     } else
  96.     {    expr("xx","\(x2)-\(x1)+1")
  97.     }
  98.     yy = y1;
  99.     sub("yy",y2)
  100.     if ( yy > 0 )    /* x2 > x2    */
  101.     {    expr("yy","\(y1)-\(y2)+1")
  102.     } else
  103.     {    expr("yy","\(y2)-\(y1)+1")
  104.     }
  105.  
  106.     syslin_puts(C_GREEN,C_BLACK,"サイズは(\(xx),\(yy))データはカットバッファに設定しました。")
  107.     wait(5)
  108. }
  109.  
  110.